System and methods thereof for delivery of popular content using a multimedia broadcast multicast service

ABSTRACT

A content caching system intercepts a request from a user device for delivery of an item of popular content stored in the cache, redirects the request to a gateway based on a determination that the requesting device may receive the item from the gateway which provides a multicast service for the item, wherein the redirecting occurs subsequent to the device being able to join a wireless multicast of the requested content after a period of delivery of a portion of the content from the cache to the device while the content is in the midst of being delivered to the device so that delivery from the cache is terminated and delivery continues such that a subsequent portion of the popular content is delivered to the device from the gateway as part of the wireless multicast.

CROSS-REFERENCE TO RELATED APPLICATION

This patent application is a continuation of, and claims benefit fromand priority to, co-pending U.S. patent application Ser. No. 14/689,630filed Apr. 17, 2015 which, in turn, claims benefit of and priority toU.S. provisional patent application 61/982,723, filed Apr. 22, 2014,both of which are entitled “A System and Method Thereof for Delivery ofPopular Content Using a Multimedia Broadcast Multicast Service”, andboth of which are hereby incorporated by reference in their entirety.This patent application is related to U.S. Pat. No. 9,774,670, entitled“Methods for Detection of Content Servers and Caching Popular ContentTherein”, and U.S. Pat. No. 9,723,073 entitled “System for Detection ofContent Servers and Caching Popular Content Therein”, both assigned tocommon assignee and are incorporated herein by reference in theirentirety.

BACKGROUND 1. Technical Field

The present disclosure generally relates to multimedia broadcastmulticast service (MBMS) and/or evolved MBMS (eMBMS) and morespecifically to delivery of content identified to be popular usingMBMS/eMBMS systems.

2. Description of the Related Art

Consumption of multimedia content, primarily video content, from onlinecontent sources to multiple types of user devices has become a commonoccurrence. The delivery of media content has been increasingsignificantly and taking an increasing portion of the total bandwidthavailable for data transmission over data networks. To overcome some ofthis overload, multimedia content caching systems are used, for example,the types that are described in the co-pending U.S. patent applicationsSer. No. 13/006,875 entitled “Methods for Detection of Content Serversand Caching Popular Content Therein” and Ser. No. 13/006,785 entitled“System for Detection of Content Servers and Caching Popular ContentTherein”, both assigned to common assignee.

Such systems identify popular content and store it in their internalcaches. When a request is sent for the content to be served from theoriginal content provider, the device requesting the content isinstructed to redirect its request to the content caching system,thereby reducing the load on the content provider as well as the networksegment between the content provider and the content caching systemdelivering the content thereafter. Normally, content delivered by eitherthe content provider or the content caching system, is deliveredpoint-to-point for each requesting consumer.

Over the past several years, the usage of mobile user devices has alsoincreased in popularity, with devices using wireless connectivity suchas WiFi as well as various cellular technologies. These technologiesallow the consumption of data over the air by such user devices. Theproliferation of mobile devices coupled with an appetite for multimediacontent has brought forth the creation of a standard known as MultimediaBroadcast Multicast Service (MBMS) developed for cellular networks,including the evolved Multimedia Broadcast Multicast Service (eMBMS)standard for long-term evolution (LTE) telecommunication networks, allreferred to herein as MBMS. Basically, this solution enablespoint-to-multipoint data transmission thereby providing the efficientdelivery of broadcast and multicast services to mobile devices. Suchmobile devices may include smartphones, tablet computers, and the like.Using MBMS it is possible to provide multimedia content in a singletransmission to multiple devices thereby reducing bandwidthrequirements.

SUMMARY

It would be advantageous to provide a solution that combines theabilities of content caching systems and MBMS to alleviate the bandwidthlimitations when popular content is requested by a large number of userdevices.

The foregoing and/or exemplary embodiments may be achieved by a contentcaching system including an interface to a network, the networkdelivering content from one or more content sources to one or more userdevices; a cache memory communicatively connected to the interface; anda processing unit, communicatively connected to the network, configuredto: identify a popular content sent over the network; store at leastpart of the identified popular content in the cache memory; deliver atleast some of the identified popular content from the cache to a gatewaycoupled to the network, the gateway configured to provide a multicastservice for the popular content; intercept a request from a user devicefor delivery of the popular content stored in the cache memory; andredirect to the gateway the request for delivery of the popular contentstored in the cache memory upon determination that the requesting userdevice may receive the popular content from the gateway; wherein theredirecting of the request occurs subsequent to the user device beingable to join a wireless multicast of the requested content after aperiod of delivery of a portion of the popular content from the cachememory of the content caching system to the user device while thepopular content is in the midst of being delivered to the user device sothat delivery from the cache memory is terminated and delivery willcontinue such that at least a subsequent portion of the popular contentwill be delivered to the user device from the gateway as part of thewireless multicast.

The gateway may be configured to multicast the popular content to atleast the user device and at least one other user device using at leastone of: a multimedia broadcast multicast service (MBMS) and an evolvedMBMS (eMBMS).

The content may be provided from from one or more multimedia contentsources (MMCSs), each of the one or more MMCSs being communicativelycoupled to the network.

The redirect of the request may occur without a further request.

The processing unit may be further configured to: provide the popularcontent from the cache memory of the content caching system upondetermination that the gateway is not permitted to provide the popularcontent to the user device.

The popular content may be multimedia content.

The popular content may be at least one of: live content and on-demandcontent.

The network need not be configured as a peer-to-peer overlay network.

The foregoing and/or other aspects of the exemplary embodiments may beachieved by a method for delivering popular content to a user device,the method including identifying a content transferred over a network;determining a popularity of the identified content; storing, in a cacheof a content caching system, at least part of the identified contentwhen it is determined to be popular content; transferring some of thepopular content from the cache to a gateway upon determination that thepopular content may be delivered by the gateway, the gateway beingcommunicatively coupled to the content caching system and configured toprovide a multicast service for the popular content; receiving a requestfrom the user device for delivery of the popular content; andredirecting the request to the gateway upon determination that the userdevice may be communicatively coupled to the gateway for reception ofthe popular content; wherein the redirecting of the request occurssubsequent to the user device being able to join a wireless multicast ofthe requested content after a period of delivery of a portion of thepopular content from the cache of the content caching system to the userdevice while the popular content is in the midst of being delivered tothe user device so that delivery from the cache is terminated anddelivery will continue such that at least a subsequent portion of thepopular content will be delivered to the user device from the gateway aspart of the wireless multicast.

The foregoing and/or other aspects of the exemplary embodiments may beachieved with a non-transitory computer readable storage medium storinga program for executing a method for delivering popular content to auser device, the method including identifying content transferred over anetwork, the network not being configured as a peer to peer overlaynetwork; determining a popularity of the identified content; storing, ina cache of a content caching system, at least part of the identifiedcontent when it is determined to be popular content; transferring atleast some of the popular content from the cache to a gateway upondetermination that the popular content may be delivered by the gateway,the gateway being communicatively coupled to the content caching systemand configured to provide a multicast service for the popular content;receiving a request from the user device for delivery of the popularcontent; and redirecting the request to the gateway upon determinationthat the user device may be communicatively coupled to the gateway forreception of the popular content; wherein the redirecting of the requestoccurs subsequent to the user device being able to join a wirelessmulticast of the requested content after a period of delivery of aportion of the popular content from the cache of the content cachingsystem to the user device while the popular content is in the midst ofbeing delivered to the user device so that delivery from the cache isterminated and delivery will continue such that at least a subsequentportion of the popular content will be delivered to the user device fromthe gateway as part of the wireless multicast.

The foregoing and/or other aspects of the exemplary embodiments may beachieved by a content caching system including one or more processors; acache configured to store popular content; and a memory storingexecutable instructions that, when executed by the one or moreprocessors, causes the one or more processors to: intercept a requestfrom a user device for delivery of an item of popular content stored inthe cache; and redirect the request for delivery of the item of popularcontent stored in the cache to a gateway based on a determination thatthe requesting user device may receive the item of popular content fromthe gateway, the gateway configured to provide a multicast service forthe item of popular content; wherein the redirecting of the requestoccurs subsequent to the user device being able to join a wirelessmulticast of the requested content after a period of delivery of aportion of the popular content from the cache of the content cachingsystem to the user device while the popular content is in the midst ofbeing delivered to the user device so that delivery from the cache isterminated and delivery will continue such that at least a subsequentportion of the popular content will be delivered to the user device fromthe gateway as part of the wireless multicast.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing and other objects, features, and advantages will becomeapparent and more readily appreciated from the following detaileddescription taken in conjunction with the accompanying drawings inwhich:

FIG. 1A is an MBMS/eMBMS off-load system operative according to anexemplary embodiment;

FIG. 1B is a content caching system (CCS) according to an exemplaryembodiment;

FIG. 2 is a flowchart describing the off-load operation of an MBMS/eMBMSoff-load system operative according to an exemplary embodiment;

FIG. 3 is a flowchart describing the provisioning of a gateway withpopular content according to an exemplary embodiment;

FIG. 4 is a network connectivity diagram of a cache fill according to anexemplary embodiment; and

FIG. 5 is a network connectivity diagram of content serving by a gatewayaccording to an embodiment.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

Below, exemplary embodiments will be described in detail with referenceto accompanying drawings so as to be easily realized by a person havingordinary knowledge in the art. The exemplary embodiments may be embodiedin various forms without being limited to the exemplary embodiments setforth herein. Descriptions of well-known parts are omitted for clarity,and like reference numerals refer to like elements throughout.

It is important to note that the embodiments disclosed herein are onlyexamples of the many advantageous uses of the innovative teachingsherein. In general, statements made in the specification of the presentapplication do not necessarily limit any of the various claimedinventions. Moreover, some statements may apply to some inventivefeatures but not to others. In general, unless otherwise indicated,singular elements may be in plural and vice versa with no loss ofgenerality.

Multimedia content, live as well as on-demand, is typically deliveredover a network responsive to a request by a user device from a contentsource and is provided point-to-point. Certain multimedia cache systemsare designed to identify popular content, such as multimedia content,and provide such content from locations that are in proximity to theuser device thereby reducing load on the overall network. The system andmethods identify user devices capable of receiving content using anMBMS/eMBMS delivering popular content by redirecting the contentdelivery from content caches or the content source to an MBMS/eMBMSthereby reducing overall load of a network.

Reference is made now to FIG. 1A which is an exemplary and non-limitingMBMS/eMBMS off-load system 100 operative according to an exemplaryembodiment. The system 100 comprises a network 110 that may comprise alocal area network (LAN), wide area network (WAN), metro area network(MAN), the Internet, the worldwide web (WWW) and the like, includingcombinations thereof, which may be wired or wireless and combinationsthereof. To the network 100 there are communicatively connectedmultimedia content sources (MMCSs) S₁ 130-1 through S_(m) 130-m, where‘m’ is an integer beginning with ‘1’. Each of the MMCSs 130 is capableof providing multimedia content, for example video clips, video streams,audio clips and audio streams, and the like, upon request from one ormore user devices (UDs) 140-1 through 140-n, where ‘n’ is an integerbeginning with ‘1’, communicatively coupled to the network 110. That is,a UD, for example UD 140-1 may send a request for multimedia contentfrom an MMCS, for example 130-1, and responsive thereof the MMCS 130-1provides the desired content to the UD 140-1.

To the network 110 there is further communicatively coupled a contentcaching system (CCS) 120. FIG. 1B describes an exemplary andnon-limiting CCS 120 according to an exemplary embodiment. The CCS 120comprises a deep media classifier (DMC) unit 122, a content deliveryunit 124, a storage 126, which may be, for example, a cache memory, andan input/output (I/O) interface 128 for communicating via, for example,the network 110. Detailed description of an exemplary and non-limitingoperation of a CCS 120 is provided in co-pending U.S. patentapplications Ser. No. 13/006,875 entitled “Methods for Detection ofContent Servers and Caching Popular Content Therein” and Ser. No.13/006,785 entitled “System for Detection of Content Servers and CachingPopular Content Therein”, both assigned to common assignee, and whichare hereby incorporated by reference in their entirety. While a singleCCS 120 is described herein, one of ordinary skill in the art wouldreadily appreciate that a plurality of such CCSs 120 may be connected tothe network 110 without departing from the scope of the exemplaryembodiments.

Returning to FIG. 1A, the CCS 120 identifies multimedia contenttransferred over the network 110 and is configured to determinepopularity of certain content, and upon such determination store suchcontent in a cache (e.g., storage 126) contained therein. In oneembodiment the popularity may mean the actual use of the content by anumber of UDs 140 that is above a predetermined threshold. In anotherembodiment popularity may mean an expectation of content to becomepopular based on the rate of increase in demand for the content by UDs140. Other methods for determining popularity may be further usedwithout departing from the scope of the exemplary embodiments. The CCS120 is further configured such that upon identifying a request forpopular content stored in the cache of CCS 120 it is capable ofproviding the content to the requesting UD, for example UD 140-2, whensuch a request is made to MMCS 130-1, for the same content previouslyprovided to UD 140-1 and determined to be popular content.

The network 110 is further communicatively connected to a gateway 150and one or more towers 155 that are configured to provide content viaMBMS/eMBMS to the UDs 140 that are capable of receiving content usingthis service. Accordingly, a plurality of UDs 140 may receive the samecontent in a multicast or broadcast manner thereby relieving the network110 from the point-to-point load associated with individual delivery tothe requesting UDs 140. According to an exemplary embodiment the CCS 120is further configured to provide to the MBMS/eMBMS gateway 150 popularcontent, based on the determination made by the CCS 120, (i.e., thegateway may be any one of a number of MBMS or eMBMS systems, and may befurther referred to herein simply as gateway 150). In one exemplaryembodiment, the delivery of the content to the gateway 150 is made via abroadcast/multicast service center (BMSC) (not shown). In such anembodiment the BMSC provides the likes of security services, session andtransition services, service announcements, proxy and transport servicesas well as membership services.

It should be noted that providing the gateway 150 with content furtherinvolves a resource reservation of the gateway 150. Determination ofwhich content to be provided may be further dependent on the type ofrequesting UDs 140, for example, a determination that a certain group ofUDs 140 are capable of receiving MBMS transmissions. In one exemplaryembodiment, the CCS 120 may redirect one or more of the UDs 140 toreceive the content from the gateway 150 instead of from an MMCS 130.

FIG. 2 is an exemplary and non-limiting flowchart 200 depicting theoff-load operation of an MBMS off-load system 100 operative according toan exemplary embodiment. In S210 a request is received to get multimediacontent from an MMCS 130. In S220 it is checked whether the content canbe served from a cache and if so execution continues with S230;otherwise, execution continues with S225 where delivery is performedfrom an MMCS 130, after which execution continues with S260. In S230 itis checked whether the requested content can be delivered from thegateway 150 and if so execution continues with S240; otherwise executioncontinues with S250. In S240 the UD 140 is routed to request the datafrom the gateway 150 so that the UD 140 will receive the requestedcontent using MBMS/eMBMS delivery; thereafter execution continues withS260. In S250 the UD 140 is routed to receive the requested content fromthe CCS 120; thereafter execution continues with S260. In S260 it ischecked whether additional requests are to be processed and if soexecution continues with S210; otherwise, execution terminates.

FIG. 3 is an exemplary and non-limiting flowchart 300 describing theprovisioning of a gateway 150 with popular content according to anexemplary embodiment. In S310 existence of popular content is identifiedby CCS 120. In S320, responsive of determination that certain content ispopular, the content is stored in the cache of the CCS 120. In S330 itis determined whether such popular content should be further deliveredto a gateway 150 and if so, execution continues with S340; otherwise,execution continues with S350. In S340 the popular content is deliveredto the gateway 150. In S350 it is checked whether the process shouldcontinue and if so, execution continues with S310; otherwise, executionterminates.

FIG. 4 is an exemplary and non-limiting network connectivity diagram 400of a cache fill according to an exemplary embodiment. According to thediagram a UD 140, for example UD 140-1, requests to connect to a contentsource, for example foo.com and hence requests (401) a domain nameserver (DNS) 520 to provide the address for the domain. It should benoted that for simplicity a DNS is not shown in FIG. 1. The DNS 520responds (402) with an internet protocol (IP) address, for example,199.99.99.99. The UD 140 sends a GET content request (403) to an MMCS130, for example MMCS 130-1, which responds with a 200 OK response (404)for the delivery of content. Content that is determined to be popular isacquired (405) by the CCS 120. The CCS 120 further enables contentingest (406) by the gateway 150, either in whole or selectively, forexample by determination if such content should be also cached in thegateway 150. In other words, at operation 406, the CCS 120 determinesthat some or all of the acquired content should also be cached at thegateway 150 and consequently stores some or all of the content at thegateway 150.

FIG. 5 is an exemplary and non-limiting network connectivity diagram 500of content serving by a gateway 150 according to an exemplaryembodiment. In this case the connectivity diagram assumes that arequested content is stored in the cache of the gateway 150.Accordingly, a UD 140, for example UD 140-2, makes a request (501) toDNS 520 for an IP address for the domain foo.com. The DNS 520 responds(502) with the address 199.99.99.99. The UD 140-2 sends a GET contentrequest (503) to the IP address 1999.99.99.99 which is intercepted bythe CCS 120 which redirects (504) the request to the gateway 150. As aresult, the UD 140-2 sends a request (505) to the DNS 520 for the IPaddress of the gateway 150, which may respond (506) with a DNS reply ofan IP address 155.55.55.55. The UD 140-2 sends a GET content request(507) to the gateway 150, and since the gateway 150 already has thedesired content stored in its cache, the gateway 150 sends (508) thedata using multicast to UD 140-2.

While the description herein discussed delivery of popular content fromeither CCS 120 or gateway 150, embodiments where portions of the popularcontent are delivered partially from CCS 120 and gateway 150 are alsopossible. This is possible as the delivery of multimedia content ingeneral, and video content in particular, is made such that a buffer ofdata is provided to the requesting UD 140. It is possible that certainUDs 140, for example UD 140-1, begin receiving data at a slightlydifferent time than other UDs 140, for example UD 140-2.

In such a case, while UD 140-1 may be receiving data using the gateway150 in a multicast, UD 140-2, joining at a different time, may need tobe initially served from CCS 120 until such time that it has a buffer ofdata sufficient to switch for reception of subsequent data using thegateway 150, joining a multicast and thereby reducing the networkbandwidth usage. Such a switch occurs in a manner that assures that theUD 140-2 continuously receives the popular content without interruption.

It is further possible for a user to switch from data reception from agateway 150 multicast to a point-to-point service from CCMS 120. Thiscan happen if the UD 140-2 requests to pause with the content deliveryand then continue from the point of pause onwards. In such a case, datanot in the cache of the UD 140-2 may not be available at the time ofrequest from the gateway 150 and continued delivery would have to switchback to CCS 120.

The various embodiments disclosed herein can be implemented as hardware,firmware, software, or any combination thereof. Moreover, the softwareis preferably implemented as an application program tangibly embodied ona program storage unit or computer readable medium consisting of parts,or of certain devices and/or a combination of devices. The applicationprogram may be uploaded to, and executed by, a machine comprising anysuitable architecture. Preferably, the machine is implemented on acomputer platform having hardware such as one or more central processingunits (“CPUs”), a memory, and input/output interfaces. The computerplatform may also include an operating system and microinstruction code.The various processes and functions described herein may be either partof the microinstruction code or part of the application program, or anycombination thereof, which may be executed by a CPU, whether or not sucha computer or processor is explicitly shown. In addition, various otherperipheral units may be connected to the computer platform such as anadditional data storage unit and a printing unit. Furthermore, anon-transitory computer readable medium is any computer readable mediumexcept for a transitory propagating signal.

All examples and conditional language recited herein are intended forpedagogical purposes to aid the reader in understanding the principlesof the exemplary embodiments and the concepts contributed by theinventor to furthering the art, and are to be construed as being withoutlimitation to such specifically recited examples and conditions.Moreover, all statements herein reciting principles, aspects, andexemplary embodiments of the present disclosure, as well as specificexamples thereof, are intended to encompass both structural andfunctional equivalents thereof. Additionally, it is intended that suchequivalents include both currently known equivalents as well asequivalents developed in the future, i.e., any elements developed thatperform the same function, regardless of structure.

What is claimed is:
 1. A content caching system comprising: an interfaceto a network, the network delivering content from one or more contentsources to one or more user devices; a cache memory communicativelyconnected to the interface; and a processing unit, communicativelyconnected to the network, configured to: identify a popular content sentover the network; store at least part of the identified popular contentin the cache memory; deliver at least some of the identified popularcontent from the cache to a gateway coupled to the network, the gatewayconfigured to provide a multicast service for the popular content; andreceive a request from a user device for delivery of the popular contentstored in the cache memory.
 2. The content caching system of claim 1,wherein the processing unit is further configured to redirect to thegateway the request for delivery of the popular content stored in thecache memory upon determination that the requesting user device mayreceive the popular content from the gateway.
 3. The content cachingsystem of claim 1, wherein receive a request comprises interception ofthe request.
 4. The content caching system of claim 2, wherein thegateway is configured to multicast the popular content to at least theuser device and at least one other user device using at least one of: amultimedia broadcast multicast service (MBMS) and an evolved MBMS(eMBMS).
 5. The content caching system of claim 1, wherein the contentis provided from one or more multimedia content sources (MMCSs), each ofthe one or more MMCSs being communicatively coupled to the network. 6.The content caching system of claim 2, wherein the redirecting of therequest occurs without a further request.
 7. The content caching systemof claim 1, wherein the processing unit is further configured to:provide the popular content from the cache memory of the content cachingsystem upon determination that the gateway is not permitted to providethe popular content to the user device.
 8. The content caching system ofclaim 1, wherein the popular content is multimedia content.
 9. Thecontent caching system of claim 1, wherein the popular content is atleast one of: live content and on-demand content.
 10. The contentcaching system of claim 1, wherein the network is not configured as apeer-to-peer overlay network.
 11. The content caching system of claim 1,wherein the redirecting of the request occurs subsequent to the userdevice being able to join a wireless multicast of the requested contentafter a period of delivery of a portion of the popular content from thecache memory of the content caching system to the user device while thepopular content is in the midst of being delivered to the user device sothat delivery from the cache memory is terminated and delivery willcontinue such that at least a subsequent portion of the popular contentwill be delivered to the user device from the gateway as part of thewireless multicast.
 12. A method for delivering popular content to auser device, the method comprising: identifying a content transferredover a network; determining a popularity of the identified content;storing, in a cache of a content caching system, at least part of theidentified content when it is determined to be popular content;transferring some of the popular content from the cache to a gatewayupon determination that the popular content may be delivered by thegateway, the gateway being communicatively coupled to the contentcaching system and configured to provide a multicast service for thepopular content; and receiving a request from the user device fordelivery of the popular content.
 13. The method of claim 12, furthercomprising: redirecting the request to the gateway upon determinationthat the user device may be communicatively coupled to the gateway forreception of the popular content.
 14. The method of claim 12, whereinreceiving a request further comprises an interception of the request.15. The method of claim 13, wherein the gateway is configured tomulticast the popular content to at least the user device and at leastone other user device using at least one of: a multimedia broadcastmulticast service (MBMS) and an evolved MBMS (eMBMS).
 16. The method ofclaim 12, wherein the content is provided from one or more multimediacontent sources (MMCSs), each of the one or more MMCSs beingcommunicatively coupled to the network.
 17. The method of claim 13,wherein the redirecting of the request occurs without a further request.18. The method of claim 12, further comprising: providing the popularcontent from the cache of the content caching system upon determinationthat the gateway is not permitted to provide the popular content to theuser device.
 19. The method of claim 12, wherein the popular content ismultimedia content.
 16. The method of claim 12, wherein the content isat least one of: live content and on-demand content.
 17. The method ofclaim 12, wherein the network is not configured as a peer-to-peeroverlay network.
 18. The method of claim 12, wherein the redirecting ofthe request occurs subsequent to the user device being able to join awireless multicast of the requested content after a period of deliveryof a portion of the popular content from the cache of the contentcaching system to the user device while the popular content is in themidst of being delivered to the user device so that delivery from thecache is terminated and delivery will continue such that at least asubsequent portion of the popular content will be delivered to the userdevice from the gateway as part of the wireless multicast.
 19. Anon-transitory computer readable storage medium storing a program forexecuting the method of claim 12.